package com.simple.system.service;

import com.simple.system.domain.dto.AddSysMenuDto;
import com.simple.system.domain.entity.SysMenu;
import com.simple.system.domain.vo.SystemManagementRouterVo;

import java.util.List;

/**
 * @Description 菜单表(SysMenu)表服务接口
 * @Author xiaoke
 * @Date 2024/8/10 18:00
 * @Version 1.0
 */
public interface SysMenuService {

    /**
     * 获取菜单-树状形
     * @return List<SysMenu>
     */
    List<SysMenu> listMenu();

    /**
     * 获取菜单权限-树状形
     * @return List<SysMenu>
     */
    List<SysMenu> listMenuPerms();

    /**
     * 获取当前用户菜单导航
     * @return List<SystemManagementRouterVo>
     */
    List<SystemManagementRouterVo> managementRouter();

    /**
     * 新增菜单
     * @param sysMenu 新增参数
     * @return Long
     */
    Long create(AddSysMenuDto sysMenu);

    /**
     * 修改菜单
     * @param id 菜单id
     * @param sysMenu 修改参数
     */
    void update(Long id, AddSysMenuDto sysMenu);

    /**
     * 删除菜单
     * @param id 菜单id
     */
    void delete(Long id);
}

